package interfaces;

import java.net.InetAddress;

/**
 * Interface regroupant les deux méthodes principales pour la communication par socket entre client et serveur
 * 
 * @author Kevin Pozderec, Faycal Abka
 */
public interface ICommunication {
	
	
	/**
	 * Méthode qui permet de d'envoyer une chaîne de caractère au serveur et de retourner la chaîne réponse du serveur
	 * 
	 * @param adresseServeur : Objet représentant le serveur et son adresse IP
	 * @param port : port sur lequel la communication avec le serveur se fait
	 * @param chaine : chaîne à envoyer au serveur
	 * @param needReturn : discriminition permettant de savoir si on veut attendre un message réponse du serveur (true) ou non (false)
	 * @return chaîne réponse qui vient du serveur
	 */
	public String communication(InetAddress adresseServeur,int port,String chaine,boolean needReturn);
	
	/**
	 * Méthode pour spécifier le fonctionnement du serveur
	 * @param port : port que le serveur doit écouter
	 */
	public void serveurLife (int port);
	
}
